Skip to content

Gh 101#118

Merged
python-processing-unit merged 61 commits intomainfrom
gh-101
Apr 20, 2026
Merged

Gh 101#118
python-processing-unit merged 61 commits intomainfrom
gh-101

Conversation

@python-processing-unit
Copy link
Copy Markdown
Owner

The new test suite is finally complete! Now I can waste another month fixing bugs!

Copilot AI review requested due to automatic review settings April 20, 2026 09:52
@python-processing-unit python-processing-unit merged commit a3fb61f into main Apr 20, 2026
0 of 2 checks passed
@python-processing-unit python-processing-unit deleted the gh-101 branch April 20, 2026 09:54
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

This PR adds a comprehensive set of negative (“failing”) test cases to validate parser/type/arity error handling, and updates CI to run the new test runner script.

Changes:

  • Added many new tests/cases/failing/*.pre programs covering invalid syntax, invalid types, invalid arities, and runtime error conditions.
  • Updated CI workflow to run the PowerShell test runner (tests/test.ps1) instead of invoking prefix.exe directly.
  • Updated build.ps1 usage comment to reflect running from the repository root folder.

Reviewed changes

Copilot reviewed 300 out of 1254 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
tests/cases/failing/inv-arity-zero.pre Adds failing case for INV() arity validation.
tests/cases/failing/inv-arity-two.pre Adds failing case for INV with too many args.
tests/cases/failing/int-r-missing-digits.pre Adds failing case for malformed radix int literal.
tests/cases/failing/int-r-base-too-small.pre Adds failing case for radix base too small.
tests/cases/failing/int-r-base-too-large.pre Adds failing case for radix base too large.
tests/cases/failing/int-r-bad-format.pre Adds failing cases for invalid radix formatting.
tests/cases/failing/int-plus-sign.pre Adds failing case for leading + on int literal.
tests/cases/failing/int-missing-digits.pre Adds failing case for missing digits after radix prefix.
tests/cases/failing/int-invalid-digit.pre Adds failing cases for invalid digits per base.
tests/cases/failing/input-type-tns.pre Adds failing case for invalid INPUT argument type.
tests/cases/failing/input-type-thr.pre Adds failing case for invalid INPUT argument type.
tests/cases/failing/input-type-map.pre Adds failing case for invalid INPUT argument type.
tests/cases/failing/input-type-int.pre Adds failing case for invalid INPUT argument type.
tests/cases/failing/input-type-func.pre Adds failing case for invalid INPUT argument type.
tests/cases/failing/input-type-flt.pre Adds failing case for invalid INPUT argument type.
tests/cases/failing/input-type-bool.pre Adds failing case for invalid INPUT argument type.
tests/cases/failing/input-arity-two.pre Adds failing case for INPUT arity validation.
tests/cases/failing/in-second-non-tns-str.pre Adds failing case for IN with invalid second arg type.
tests/cases/failing/in-second-non-tns-int.pre Adds failing case for IN with invalid second arg type.
tests/cases/failing/in-arity-zero.pre Adds failing case for IN() arity validation.
tests/cases/failing/in-arity-three.pre Adds failing case for IN arity validation.
tests/cases/failing/in-arity-one.pre Adds failing case for IN arity validation.
tests/cases/failing/import_path-type-tns.pre Adds failing case for IMPORT_PATH invalid type.
tests/cases/failing/import_path-type-thr.pre Adds failing case for IMPORT_PATH invalid type.
tests/cases/failing/import_path-type-map.pre Adds failing case for IMPORT_PATH invalid type.
tests/cases/failing/import_path-type-int.pre Adds failing case for IMPORT_PATH invalid type.
tests/cases/failing/import_path-type-func.pre Adds failing case for IMPORT_PATH invalid type.
tests/cases/failing/import_path-type-flt.pre Adds failing case for IMPORT_PATH invalid type.
tests/cases/failing/import_path-type-bool.pre Adds failing case for IMPORT_PATH invalid type.
tests/cases/failing/import_path-qualified-only.pre Adds failing case ensuring imported symbols must be qualified.
tests/cases/failing/import_path-missing-file.pre Adds failing case for missing file import.
tests/cases/failing/import_path-arity-zero.pre Adds failing case for IMPORT_PATH() arity validation.
tests/cases/failing/import_path-arity-three.pre Adds failing case for IMPORT_PATH arity validation.
tests/cases/failing/import_path-alias-type-tns.pre Adds failing case for alias arg wrong type.
tests/cases/failing/import_path-alias-type-thr.pre Adds failing case for alias arg wrong type.
tests/cases/failing/import_path-alias-type-str.pre Adds failing case for alias arg wrong type.
tests/cases/failing/import_path-alias-type-map.pre Adds failing case for alias arg wrong type.
tests/cases/failing/import_path-alias-type-int.pre Adds failing case for alias arg wrong type.
tests/cases/failing/import_path-alias-type-func.pre Adds failing case for alias arg wrong type.
tests/cases/failing/import_path-alias-type-flt.pre Adds failing case for alias arg wrong type.
tests/cases/failing/import_path-alias-type-bool.pre Adds failing case for alias arg wrong type.
tests/cases/failing/import-type-tns.pre Adds failing case for IMPORT invalid type.
tests/cases/failing/import-type-thr.pre Adds failing case for IMPORT invalid type.
tests/cases/failing/import-type-str.pre Adds failing case for IMPORT invalid type.
tests/cases/failing/import-type-map.pre Adds failing case for IMPORT invalid type.
tests/cases/failing/import-type-int.pre Adds failing case for IMPORT invalid type.
tests/cases/failing/import-type-func.pre Adds failing case for IMPORT invalid type.
tests/cases/failing/import-type-flt.pre Adds failing case for IMPORT invalid type.
tests/cases/failing/import-type-bool.pre Adds failing case for IMPORT invalid type.
tests/cases/failing/import-missing-module.pre Adds failing case for importing a missing module.
tests/cases/failing/import-arity-zero.pre Adds failing case for IMPORT() arity validation.
tests/cases/failing/import-arity-three.pre Adds failing case for IMPORT arity validation.
tests/cases/failing/import-alias-type-tns.pre Adds failing case for IMPORT alias wrong type.
tests/cases/failing/import-alias-type-thr.pre Adds failing case for IMPORT alias wrong type.
tests/cases/failing/import-alias-type-str.pre Adds failing case for IMPORT alias wrong type.
tests/cases/failing/import-alias-type-map.pre Adds failing case for IMPORT alias wrong type.
tests/cases/failing/import-alias-type-int.pre Adds failing case for IMPORT alias wrong type.
tests/cases/failing/import-alias-type-func.pre Adds failing case for IMPORT alias wrong type.
tests/cases/failing/import-alias-type-flt.pre Adds failing case for IMPORT alias wrong type.
tests/cases/failing/import-alias-type-bool.pre Adds failing case for IMPORT alias wrong type.
tests/cases/failing/ilen-non-int.pre Adds failing case for ILEN non-int argument.
tests/cases/failing/if-no-condition.pre Adds failing case for IF{} missing condition.
tests/cases/failing/if-no-block.pre Adds failing case for IF() missing block.
tests/cases/failing/if-elseif-seperated.pre Adds failing case for ELSEIF separated from IF.
tests/cases/failing/if-elseif-no-condition.pre Adds failing case for ELSEIF missing condition.
tests/cases/failing/if-elseif-no-block.pre Adds failing case for ELSEIF missing block.
tests/cases/failing/if-else-seperated.pre Adds failing case for ELSE separated from IF.
tests/cases/failing/if-else-no-block.pre Adds failing case for ELSE missing block.
tests/cases/failing/idiv-zero-int.pre Adds failing case for integer division by zero.
tests/cases/failing/iadd-coerce-type-map.pre Adds failing case for IADD type coercion error.
tests/cases/failing/iadd-coerce-type-bool.pre Adds failing case for IADD wrong type.
tests/cases/failing/iadd-coerce-str-int.pre Adds failing case for IADD wrong type.
tests/cases/failing/iadd-coerce-int-str.pre Adds failing case for IADD wrong type.
tests/cases/failing/iadd-coerce-int-nan.pre Adds failing case for IADD invalid numeric value.
tests/cases/failing/iadd-coerce-int-inf.pre Adds failing case for IADD invalid numeric value.
tests/cases/failing/hash-in-ident.pre Adds failing case for invalid identifier characters.
tests/cases/failing/gotopoint-no-parens.pre Adds failing case for GOTOPOINT missing parentheses.
tests/cases/failing/goto-no-parens.pre Adds failing case for GOTO missing parentheses.
tests/cases/failing/gcd-type-str.pre Adds failing case for GCD wrong types.
tests/cases/failing/gcd-type-bool.pre Adds failing case for GCD wrong types.
tests/cases/failing/gcd-mixed-types.pre Adds failing case for GCD mixed int/float.
tests/cases/failing/gcd-mixed-types-reversed.pre Adds failing case for GCD mixed float/int.
tests/cases/failing/gcd-arity-three.pre Adds failing case for GCD arity.
tests/cases/failing/gcd-arity-one.pre Adds failing case for GCD arity.
tests/cases/failing/func-positional-after-keyword.pre Adds failing case for positional args after keyword args.
tests/cases/failing/func-name-conflicts-symbol.pre Adds failing case for name conflict between symbol and function.
tests/cases/failing/func-name-conflicts-builtin.pre Adds failing case for redefining builtin name.
tests/cases/failing/func-missing-return-type.pre Adds failing case for missing function return type.
tests/cases/failing/func-missing-param-type.pre Adds failing case for missing function param type.
tests/cases/failing/func-default-before-positional.pre Adds failing case for default param before required param.
tests/cases/failing/fsum-str.pre Adds failing case for FSUM wrong type input.
tests/cases/failing/froot-neg-even.pre Adds failing case for root of negative with even exponent.
tests/cases/failing/fprod-str.pre Adds failing case for FPROD wrong type.
tests/cases/failing/fprod-bool.pre Adds failing case for FPROD wrong type.
tests/cases/failing/fprod-arity-zero.pre Adds failing case for FPROD arity.
tests/cases/failing/for-target-not-int.pre Adds failing case for FOR wrong target type.
tests/cases/failing/for-no-target.pre Adds failing case for FOR missing target.
tests/cases/failing/for-no-block.pre Adds failing case for FOR missing block.
tests/cases/failing/flt-plus-sign.pre Adds failing case for leading + in float literal.
tests/cases/failing/flt-no-integer.pre Adds failing case for float missing integer part.
tests/cases/failing/flt-no-fraction.pre Adds failing case for float missing fractional digits.
tests/cases/failing/flt-negative-nan.pre Adds failing case for invalid signed NaN float literal.
tests/cases/failing/flt-invalid-digit.pre Adds failing case for invalid digits in float literal.
tests/cases/failing/first-decl-no-type.pre Adds failing case for first declaration missing type.
tests/cases/failing/first-assign-no-type.pre Adds failing case for first assignment missing type.
tests/cases/failing/fill-value-type-mismatch-str-tensor.pre Adds failing case for FILL value type mismatch.
tests/cases/failing/fill-value-type-mismatch-int-tensor.pre Adds failing case for FILL value type mismatch.
tests/cases/failing/fill-first-non-tns.pre Adds failing case for FILL wrong first arg type.
tests/cases/failing/fill-arity-zero.pre Adds failing case for FILL arity.
tests/cases/failing/fill-arity-three.pre Adds failing case for FILL arity.
tests/cases/failing/fill-arity-one.pre Adds failing case for FILL arity.
tests/cases/failing/extend-restricted-not-global.pre Adds failing case for restricted extension usage context.
tests/cases/failing/extend-prex-rejected.pre Adds failing case for rejected extension loader.
tests/cases/failing/extend-package-missing-init.pre Adds failing case for package missing init.
tests/cases/failing/extend-missing-init-symbol.pre Adds failing case for missing init symbol.
tests/cases/failing/extend-missing-file.pre Adds failing case for missing extension file.
tests/cases/failing/extend-asmodule-not-qualified.pre Adds failing case for unqualified access after import-as-module.
tests/cases/failing/export-unimported-module.pre Adds failing case for exporting to unimported module.
tests/cases/failing/export-undeclared-symbol.pre Adds failing case for exporting undeclared symbol.
tests/cases/failing/export-symbol-type-tns.pre Adds failing case for exporting wrong symbol type.
tests/cases/failing/export-symbol-type-thr.pre Adds failing case for exporting wrong symbol type.
tests/cases/failing/export-symbol-type-str.pre Adds failing case for exporting wrong symbol type.
tests/cases/failing/export-symbol-type-map.pre Adds failing case for exporting wrong symbol type.
tests/cases/failing/export-symbol-type-int.pre Adds failing case for exporting wrong symbol type.
tests/cases/failing/export-symbol-type-func.pre Adds failing case for exporting wrong symbol type.
tests/cases/failing/export-symbol-type-flt.pre Adds failing case for exporting wrong symbol type.
tests/cases/failing/export-symbol-type-bool.pre Adds failing case for exporting wrong symbol type.
tests/cases/failing/export-module-type-tns.pre Adds failing case for exporting to wrong module type.
tests/cases/failing/export-module-type-thr.pre Adds failing case for exporting to wrong module type.
tests/cases/failing/export-module-type-str.pre Adds failing case for exporting to wrong module type.
tests/cases/failing/export-module-type-map.pre Adds failing case for exporting to wrong module type.
tests/cases/failing/export-module-type-int.pre Adds failing case for exporting to wrong module type.
tests/cases/failing/export-module-type-func.pre Adds failing case for exporting to wrong module type.
tests/cases/failing/export-module-type-flt.pre Adds failing case for exporting to wrong module type.
tests/cases/failing/export-module-type-bool.pre Adds failing case for exporting to wrong module type.
tests/cases/failing/export-deleted-symbol.pre Adds failing case for exporting a deleted symbol.
tests/cases/failing/export-declared-only-symbol.pre Adds failing case for exporting declared-only symbol.
tests/cases/failing/export-arity-zero.pre Adds failing case for EXPORT() arity.
tests/cases/failing/export-arity-three.pre Adds failing case for EXPORT arity.
tests/cases/failing/export-arity-one.pre Adds failing case for EXPORT arity.
tests/cases/failing/exit-type-tns.pre Adds failing case for EXIT wrong type.
tests/cases/failing/exit-type-thr.pre Adds failing case for EXIT wrong type.
tests/cases/failing/exit-type-str.pre Adds failing case for EXIT wrong type.
tests/cases/failing/exit-type-map.pre Adds failing case for EXIT wrong type.
tests/cases/failing/exit-type-func.pre Adds failing case for EXIT wrong type.
tests/cases/failing/exit-type-flt.pre Adds failing case for EXIT wrong type.
tests/cases/failing/exit-type-bool.pre Adds failing case for EXIT wrong type.
tests/cases/failing/exit-arity-two.pre Adds failing case for EXIT arity.
tests/cases/failing/existfile-tns.pre Adds failing case for EXISTFILE wrong type.
tests/cases/failing/existfile-thr.pre Adds failing case for EXISTFILE wrong type.
tests/cases/failing/existfile-map.pre Adds failing case for EXISTFILE wrong type.
tests/cases/failing/existfile-int.pre Adds failing case for EXISTFILE wrong type.
tests/cases/failing/existfile-func.pre Adds failing case for EXISTFILE wrong type.
tests/cases/failing/existfile-flt.pre Adds failing case for EXISTFILE wrong type.
tests/cases/failing/existfile-bool.pre Adds failing case for EXISTFILE wrong type.
tests/cases/failing/existfile-arity-zero.pre Adds failing case for EXISTFILE() arity.
tests/cases/failing/existfile-arity-two.pre Adds failing case for EXISTFILE arity.
tests/cases/failing/equals-in-ident.pre Adds failing case for invalid identifier characters.
tests/cases/failing/eq-arity-three.pre Adds failing case for EQ arity.
tests/cases/failing/eq-arity-one.pre Adds failing case for EQ arity.
tests/cases/failing/empty-identifier.pre Adds failing case for empty identifier.
tests/cases/failing/elseif-no-if.pre Adds failing case for ELSEIF without IF.
tests/cases/failing/elseif-elseif-seperated.pre Adds failing case for ELSEIF separated from chain.
tests/cases/failing/elseif-else-seperated.pre Adds failing case for ELSE separated from chain.
tests/cases/failing/elseif-after-else.pre Adds failing case for ELSEIF after ELSE.
tests/cases/failing/else-no-if.pre Adds failing case for ELSE without IF.
tests/cases/failing/div-zero-int.pre Adds failing case for division by zero (int).
tests/cases/failing/div-zero-flt.pre Adds failing case for division by zero (float).
tests/cases/failing/deletefile-tns.pre Adds failing case for DELETEFILE wrong type.
tests/cases/failing/deletefile-thr.pre Adds failing case for DELETEFILE wrong type.
tests/cases/failing/deletefile-nonexistent.pre Adds failing case for deleting nonexistent file.
tests/cases/failing/deletefile-map.pre Adds failing case for DELETEFILE wrong type.
tests/cases/failing/deletefile-int.pre Adds failing case for DELETEFILE wrong type.
tests/cases/failing/deletefile-func.pre Adds failing case for DELETEFILE wrong type.
tests/cases/failing/deletefile-flt.pre Adds failing case for DELETEFILE wrong type.
tests/cases/failing/deletefile-bool.pre Adds failing case for DELETEFILE wrong type.
tests/cases/failing/deletefile-arity-zero.pre Adds failing case for DELETEFILE() arity.
tests/cases/failing/deletefile-arity-two.pre Adds failing case for DELETEFILE arity.
tests/cases/failing/del-type-mismatch-after-delete.pre Adds failing case for redeclare type mismatch after delete.
tests/cases/failing/del-nonexistent-symbol.pre Adds failing case for deleting unknown symbol.
tests/cases/failing/del-never-assigned-symbol.pre Adds failing case for deleting never-assigned symbol.
tests/cases/failing/del-map-target-not-map.pre Adds failing case for DEL map indexing on non-map.
tests/cases/failing/del-map-intermediate-not-map.pre Adds failing case for DEL nested map path invalid.
tests/cases/failing/del-already-deleted-symbol.pre Adds failing case for deleting same symbol twice.
tests/cases/failing/deepcopy-arity-zero.pre Adds failing case for DEEPCOPY() arity.
tests/cases/failing/deepcopy-arity-two.pre Adds failing case for DEEPCOPY arity.
tests/cases/failing/copy-arity-zero.pre Adds failing case for COPY() arity.
tests/cases/failing/copy-arity-two.pre Adds failing case for COPY arity.
tests/cases/failing/convert-value-string.pre Adds failing case for CONVERT wrong input type.
tests/cases/failing/convert-value-map.pre Adds failing case for CONVERT wrong input type.
tests/cases/failing/convert-base-wrong-type.pre Adds failing case for CONVERT base wrong type.
tests/cases/failing/convert-base-too-small.pre Adds failing case for CONVERT base too small.
tests/cases/failing/convert-base-too-large.pre Adds failing case for CONVERT base too large.
tests/cases/failing/conv-second-non-tns.pre Adds failing case for CONV wrong second arg type.
tests/cases/failing/conv-legacy-rank-mismatch.pre Adds failing case for legacy CONV rank mismatch.
tests/cases/failing/conv-legacy-even-kernel.pre Adds failing case for legacy CONV even kernel size.
tests/cases/failing/conv-first-non-tns.pre Adds failing case for CONV wrong first arg type.
tests/cases/failing/conv-extended-x-not-rank3.pre Adds failing case for extended CONV x rank error.
tests/cases/failing/conv-extended-stride-w-non-int.pre Adds failing case for extended CONV stride type error.
tests/cases/failing/conv-extended-kernel-not-rank4.pre Adds failing case for extended CONV kernel rank error.
tests/cases/failing/conv-extended-bias-size-mismatch.pre Adds failing case for extended CONV bias size mismatch.
tests/cases/failing/conv-extended-bias-not-tns.pre Adds failing case for extended CONV bias type error.
tests/cases/failing/conv-arity-zero.pre Adds failing case for CONV() arity.
tests/cases/failing/conv-arity-one.pre Adds failing case for CONV arity.
tests/cases/failing/conv-arity-eight.pre Adds failing case for CONV arity.
tests/cases/failing/continue-with-argument.pre Adds failing case for CONTINUE with argument.
tests/cases/failing/continue-outside-loop.pre Adds failing case for CONTINUE outside loop.
tests/cases/failing/continue-no-parens.pre Adds failing case for CONTINUE missing parentheses.
tests/cases/failing/comma-in-ident.pre Adds failing case for invalid identifier characters.
tests/cases/failing/close-square-bracket-in-ident.pre Adds failing case for invalid identifier characters.
tests/cases/failing/close-parentheses-in-ident.pre Adds failing case for invalid identifier characters.
tests/cases/failing/close-curly-bracket-in-ident.pre Adds failing case for invalid identifier characters.
tests/cases/failing/clog-zero.pre Adds failing case for CLOG invalid input.
tests/cases/failing/clog-negative.pre Adds failing case for CLOG invalid input.
tests/cases/failing/clog-float.pre Adds failing case for CLOG invalid input type/value.
tests/cases/failing/cl-type-tns.pre Adds failing case for CL invalid type.
tests/cases/failing/cl-type-thr.pre Adds failing case for CL invalid type.
tests/cases/failing/cl-type-map.pre Adds failing case for CL invalid type.
tests/cases/failing/cl-type-int.pre Adds failing case for CL invalid type.
tests/cases/failing/cl-type-func.pre Adds failing case for CL invalid type.
tests/cases/failing/cl-type-flt.pre Adds failing case for CL invalid type.
tests/cases/failing/cl-type-bool.pre Adds failing case for CL invalid type.
tests/cases/failing/cl-arity-zero.pre Adds failing case for CL() arity.
tests/cases/failing/cl-arity-two.pre Adds failing case for CL arity.
tests/cases/failing/cdiv-zero-int.pre Adds failing case for complex division by zero (int).
tests/cases/failing/cdiv-zero-flt.pre Adds failing case for complex division by zero (float).
tests/cases/failing/catch-no-try.pre Adds failing case for CATCH without TRY.
tests/cases/failing/bytes-value-type.pre Adds failing case for BYTES wrong type.
tests/cases/failing/bytes-second-tns.pre Adds failing case for BYTES endian wrong type.
tests/cases/failing/bytes-second-thr.pre Adds failing case for BYTES endian wrong type.
tests/cases/failing/bytes-second-map.pre Adds failing case for BYTES endian wrong type.
tests/cases/failing/bytes-second-int.pre Adds failing case for BYTES arity/arg validation.
tests/cases/failing/bytes-second-func.pre Adds failing case for BYTES endian wrong type.
tests/cases/failing/bytes-second-flt.pre Adds failing case for BYTES endian wrong type.
tests/cases/failing/bytes-second-bool.pre Adds failing case for BYTES endian wrong type.
tests/cases/failing/bytes-negative.pre Adds failing case for BYTES negative input.
tests/cases/failing/bytes-invalid-endian.pre Adds failing case for BYTES invalid endian string.
tests/cases/failing/bytes-first-tns.pre Adds failing case for BYTES wrong type.
tests/cases/failing/bytes-first-thr.pre Adds failing case for BYTES wrong type.
tests/cases/failing/bytes-first-map.pre Adds failing case for BYTES wrong type.
tests/cases/failing/bytes-first-func.pre Adds failing case for BYTES wrong type.
tests/cases/failing/bytes-first-flt.pre Adds failing case for BYTES wrong type.
tests/cases/failing/bytes-first-bool.pre Adds failing case for BYTES wrong type.
tests/cases/failing/bytes-endian-case.pre Adds failing case for BYTES endian case sensitivity.
tests/cases/failing/bxor-radix.pre Adds failing case for bitwise op radix mismatch.
tests/cases/failing/break-zero.pre Adds failing case for BREAK invalid argument.
tests/cases/failing/break-too-deep.pre Adds failing case for BREAK too deep.
tests/cases/failing/break-target-not-int.pre Adds failing case for BREAK wrong type.
tests/cases/failing/break-outside-loop.pre Adds failing case for BREAK outside loop.
tests/cases/failing/break-no-argument.pre Adds failing case for BREAK() missing arg.
tests/cases/failing/bor-radix.pre Adds failing case for bitwise op radix mismatch.
tests/cases/failing/bool-lowercase.pre Adds failing case for lowercase boolean literal.
tests/cases/failing/bnot-radix.pre Adds failing case for BNOT invalid radix usage.
tests/cases/failing/base-thr.pre Adds failing case for BASE wrong type.
tests/cases/failing/base-string.pre Adds failing case for BASE wrong type.
tests/cases/failing/base-map.pre Adds failing case for BASE wrong type.
tests/cases/failing/base-func.pre Adds failing case for BASE wrong type.
tests/cases/failing/band-radix.pre Adds failing case for bitwise op radix mismatch.
tests/cases/failing/await-type-tns.pre Adds failing case for AWAIT wrong type.
tests/cases/failing/await-type-str.pre Adds failing case for AWAIT wrong type.
tests/cases/failing/await-type-map.pre Adds failing case for AWAIT wrong type.
tests/cases/failing/await-type-int.pre Adds failing case for AWAIT wrong type.
tests/cases/failing/await-type-func.pre Adds failing case for AWAIT wrong type.
tests/cases/failing/await-type-flt.pre Adds failing case for AWAIT wrong type.
tests/cases/failing/await-type-bool.pre Adds failing case for AWAIT wrong type.
tests/cases/failing/await-arity-zero.pre Adds failing case for AWAIT() arity.
tests/cases/failing/await-arity-two.pre Adds failing case for AWAIT arity.
tests/cases/failing/at-in-ident.pre Adds failing case for invalid identifier characters.
tests/cases/failing/assign-tns-index-on-thr.pre Adds failing case for tensor indexing assignment on wrong type.
tests/cases/failing/assign-tns-index-on-str.pre Adds failing case for tensor indexing assignment on wrong type.
tests/cases/failing/assign-tns-index-on-map.pre Adds failing case for tensor indexing assignment on wrong type.
tests/cases/failing/assign-tns-index-on-int.pre Adds failing case for tensor indexing assignment on wrong type.
tests/cases/failing/assign-tns-index-on-func.pre Adds failing case for tensor indexing assignment on wrong type.
tests/cases/failing/assign-tns-index-on-flt.pre Adds failing case for tensor indexing assignment on wrong type.
tests/cases/failing/assign-tns-index-on-bool.pre Adds failing case for tensor indexing assignment on wrong type.
tests/cases/failing/assign-map-index-on-tns.pre Adds failing case for map indexing assignment on wrong type.
tests/cases/failing/assign-map-index-on-thr.pre Adds failing case for map indexing assignment on wrong type.
tests/cases/failing/assign-map-index-on-str.pre Adds failing case for map indexing assignment on wrong type.
tests/cases/failing/assign-map-index-on-int.pre Adds failing case for map indexing assignment on wrong type.
tests/cases/failing/assign-map-index-on-func.pre Adds failing case for map indexing assignment on wrong type.
tests/cases/failing/assign-map-index-on-flt.pre Adds failing case for map indexing assignment on wrong type.
tests/cases/failing/assign-map-index-on-bool.pre Adds failing case for map indexing assignment on wrong type.
tests/cases/failing/assert-false.pre Adds failing case asserting false.
tests/cases/failing/argv-arity-one.pre Adds failing case for ARGV arity.
tests/cases/failing/append-second-not-1d.pre Adds failing case for APPEND invalid tensor rank.
tests/cases/failing/append-second-non-tns.pre Adds failing case for APPEND wrong type.
tests/cases/failing/append-arity-zero.pre Adds failing case for APPEND() arity.
tests/cases/failing/append-arity-three.pre Adds failing case for APPEND arity.
tests/cases/failing/append-arity-one.pre Adds failing case for APPEND arity.
tests/cases/failing/any-arity-zero.pre Adds failing case for ANY() arity.
tests/cases/failing/and-arity-zero.pre Adds failing case for AND() arity.
tests/cases/failing/and-arity-three.pre Adds failing case for AND arity.
tests/cases/failing/all-arity-zero.pre Adds failing case for ALL() arity.
tests/cases/failing/alias-to-frozen.pre Adds failing case for aliasing a frozen symbol.
tests/cases/failing/alias-cycle.pre Adds failing case for alias cycles.
tests/cases/failing/add-mixed-types.pre Adds failing case for ADD mixed numeric types.
tests/cases/failing/abs-type-str.pre Adds failing case for ABS wrong type.
tests/cases/failing/abs-type-bool.pre Adds failing case for ABS wrong type.
build.ps1 Updates usage documentation line to reference repo root folder name.
.github/workflows/ci.yml Switches CI test execution to tests/test.ps1.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +1 to +7
IF(FALSE){
ASSERT(TRUE)
}

ELSEIF(TRUE){
ASSERT(FALSE)
}
Copy link

Copilot AI Apr 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The word 'seperated' is misspelled in multiple newly added filenames (e.g., if-elseif-seperated.pre, if-else-seperated.pre, elseif-elseif-seperated.pre, elseif-else-seperated.pre). Rename them to use 'separated' to improve discoverability/searchability and avoid propagating typos in test artifacts.

Copilot uses AI. Check for mistakes.
@@ -0,0 +1 @@
FSUM('1.0', 0d1)
Copy link

Copilot AI Apr 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This test uses single quotes for a string literal while most other tests use double quotes. If the language grammar treats single-quoted strings differently (or rejects them), the failure may not be testing the intended 'string argument to FSUM' behavior. Consider using double quotes here (and similarly in abs-type-str.pre) to keep the test focused on the type error rather than string-literal syntax.

Suggested change
FSUM('1.0', 0d1)
FSUM("1.0", 0d1)

Copilot uses AI. Check for mistakes.
Comment thread .github/workflows/ci.yml

- name: Run tests
run: .\prefix.exe .\tests\test2.pre
run: .\tests\test.ps1
Copy link

Copilot AI Apr 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The workflow relies on the default runner shell to execute a .ps1 script. To make this more robust and self-documenting, set an explicit PowerShell shell (e.g., shell: pwsh) or invoke the script via PowerShell (pwsh -File .\\tests\\test.ps1) so it behaves consistently if the job shell changes.

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants